-
Notifications
You must be signed in to change notification settings - Fork 190
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Transition build system of cuda_cccl and cuda_parallel to scikit-build-core #3597
Transition build system of cuda_cccl and cuda_parallel to scikit-build-core #3597
Conversation
Transition from using setuptools to using scikit-build-core, so that CMakeLists.txt is used to ensure that include is the same as in the cuda toolkit. Added test folder to test that the package works correctly.
Use suggestion by Bradley to use scikit-build-core regex facility to extract version value from "_version.py"
🟥 CI finished in 4m 36s: Pass: 0%/1 | Total: 4m 36s | Avg: 4m 36s | Max: 4m 36s
|
Project | |
---|---|
CCCL Infrastructure | |
libcu++ | |
CUB | |
Thrust | |
CUDA Experimental | |
+/- | python |
CCCL C Parallel Library | |
Catch2Helper |
Modifications in project or dependencies?
Project | |
---|---|
CCCL Infrastructure | |
libcu++ | |
CUB | |
Thrust | |
CUDA Experimental | |
+/- | python |
CCCL C Parallel Library | |
Catch2Helper |
🏃 Runner counts (total jobs: 1)
# | Runner |
---|---|
1 | linux-amd64-gpu-v100-latest-1 |
🟥 CI finished in 6m 03s: Pass: 0%/1 | Total: 6m 03s | Avg: 6m 03s | Max: 6m 03s
|
Project | |
---|---|
CCCL Infrastructure | |
libcu++ | |
CUB | |
Thrust | |
CUDA Experimental | |
+/- | python |
CCCL C Parallel Library | |
Catch2Helper |
Modifications in project or dependencies?
Project | |
---|---|
CCCL Infrastructure | |
libcu++ | |
CUB | |
Thrust | |
CUDA Experimental | |
+/- | python |
CCCL C Parallel Library | |
Catch2Helper |
🏃 Runner counts (total jobs: 1)
# | Runner |
---|---|
1 | linux-amd64-gpu-v100-latest-1 |
🟩 CI finished in 47m 48s: Pass: 100%/1 | Total: 47m 48s | Avg: 47m 48s | Max: 47m 48s
|
Project | |
---|---|
CCCL Infrastructure | |
libcu++ | |
CUB | |
Thrust | |
CUDA Experimental | |
+/- | python |
CCCL C Parallel Library | |
Catch2Helper |
Modifications in project or dependencies?
Project | |
---|---|
CCCL Infrastructure | |
libcu++ | |
CUB | |
Thrust | |
CUDA Experimental | |
+/- | python |
CCCL C Parallel Library | |
Catch2Helper |
🏃 Runner counts (total jobs: 1)
# | Runner |
---|---|
1 | linux-amd64-gpu-v100-latest-1 |
1. Use pytest fixture to reuse computed inc_paths 2. Split long test into smaller individual tests with descriptive names 3. Add tests to check that directories contain expected marker files (versions) 4. Avoid using c4l in favor of cccl
🟩 CI finished in 45m 37s: Pass: 100%/1 | Total: 45m 37s | Avg: 45m 37s | Max: 45m 37s
|
Project | |
---|---|
CCCL Infrastructure | |
libcu++ | |
CUB | |
Thrust | |
CUDA Experimental | |
+/- | python |
CCCL C Parallel Library | |
Catch2Helper |
Modifications in project or dependencies?
Project | |
---|---|
CCCL Infrastructure | |
libcu++ | |
CUB | |
Thrust | |
CUDA Experimental | |
+/- | python |
CCCL C Parallel Library | |
Catch2Helper |
🏃 Runner counts (total jobs: 1)
# | Runner |
---|---|
1 | linux-amd64-gpu-v100-latest-1 |
Q: How much efforts is needed to also build |
It appears there is no issue to change |
Actually, I do not think this is ready yet @leofang This PR adds an empty file So |
Good catch, yes I misread |
I pushed a change that removes |
🟩 CI finished in 46m 01s: Pass: 100%/1 | Total: 46m 01s | Avg: 46m 01s | Max: 46m 01s
|
Project | |
---|---|
CCCL Infrastructure | |
libcu++ | |
CUB | |
Thrust | |
CUDA Experimental | |
+/- | python |
CCCL C Parallel Library | |
Catch2Helper |
Modifications in project or dependencies?
Project | |
---|---|
CCCL Infrastructure | |
libcu++ | |
CUB | |
Thrust | |
CUDA Experimental | |
+/- | python |
CCCL C Parallel Library | |
Catch2Helper |
🏃 Runner counts (total jobs: 1)
# | Runner |
---|---|
1 | linux-amd64-gpu-v100-latest-1 |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
LGTM (but would also wait for Bradley & Leo to approve before merging)!
Can we change the title of this PR to:
Transition build system of cuda_cccl and cuda_parallel to scikit-build-core
Awesome work @oleksandr-pavlyk!
@leofang Overall, do we have tests that various python packages installing into |
I think the Kitmaker team will eventually handle this test. For now we are on our own. |
@NVIDIA/cccl-cmake-codeowners we still need another review here. There's no change to other projects CMakeList; new additions here are to serve the new build system (skbuid-core). |
@@ -0,0 +1,63 @@ | |||
import pytest |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Nice addition!
Is this run in the CI?
(For cuda_parallel and cuda_cooperative the tests are run from ci/test_python.sh)
Description
closes gh-2334
Change build system of internal Python package
cuda_cccl
that installs CCCL headers into Python prefix.The advantage of using scikit-build-core is that installation of headers is controlled by project's top-level "CMakeLists.txt"
A minimal pytest-based test suite is added as well.
Checklist